package ws;

import java.util.ArrayList;
import java.util.Collection;

import org.orm.PersistentException;
import org.orm.PersistentTransaction;

import com.google.gson.Gson;

import SOAPVO.AlumnoSOAPVO;
import SOAPVO.SubSectorSOAPVO;

import orm.DAOFactory;

public class SubSectorSOA {
	
	public String add(String su_nombre, String cu_id_curso)throws PersistentException{
		String mensaje="";
		int resultado=1;
		try {		
		
		if((su_nombre==null) || (su_nombre.equals("")) || (cu_id_curso==null) || (cu_id_curso.equals(""))){
			
			mensaje="ingrese nombre y id del curso";
			resultado=0;
		}
		else{
			
			if(resultado==1){
				
				orm.DAOFactory lDAOFactory = orm.DAOFactory.getDAOFactory();
				
				// objeto sub sector
				orm.dao.Tan_subsectorDAO lormTan_subsectorDAO = lDAOFactory.getTan_subsectorDAO();
				orm.Tan_subsector lormTan_subsector = lormTan_subsectorDAO.createTan_subsector();
				
				// buscar objeto curso
				
				orm.dao.Tan_cursoDAO lormTan_cursoDAO = lDAOFactory.getTan_cursoDAO();
				orm.Tan_curso lormTan_curso = lormTan_cursoDAO.getTan_cursoByORMID(Integer.parseInt(cu_id_curso));

				//seteando sub sector
				
				lormTan_subsector.setSu_nombre(su_nombre);
				lormTan_subsector.setCu_id_curso(lormTan_curso);
				lormTan_subsectorDAO.save(lormTan_subsector);
				
				mensaje=lormTan_subsector.getSu_nombre();
					
				}
		    }
		}
			
		catch (PersistentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return mensaje;
	}//fin de metodo
	
	public String getByCurso(String cu_id_curso){
		String json="";
		
		orm.DAOFactory lDAOFactory = orm.DAOFactory.getDAOFactory();
		Collection<SubSectorSOAPVO> coleccionSubSector = new ArrayList<SubSectorSOAPVO>();
        orm.Tan_subsector[] ormSubSector;
        
        
        
        if(cu_id_curso.equals("") || cu_id_curso==null){
        	
        	json="0";
        }
        else{
        	
        	try {
				ormSubSector =lDAOFactory.getTan_subsectorDAO().listTan_subsectorByQuery("cu_id_curso='"+cu_id_curso+"'", null);

				if(ormSubSector.length!=0){
					
                	for (int i = 0; i < ormSubSector.length; i++ ){
                        SubSectorSOAPVO SubSectorEncontrado = SubSectorSOAPVO.crearSubSector(ormSubSector[i]);
                        coleccionSubSector.add(SubSectorEncontrado);

                        System.out.println("SubSector :"+ormSubSector[i]);
                        
                	}
					
                    Gson gson = new Gson();
                    json = gson.toJson(coleccionSubSector);
				}
				
				
				
			} catch (PersistentException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				json="2";
			}
        	
        }
				
		return json;
	}
}//fin de clase
